/**
 * @description account 服务层
 * @author LI
 */

const { User } = require('../db/model/index')
const Op = require('sequelize').Op
const { formatMoreTime } = require('../utils/dateTime')

/**
 * 获取全部账号信息
 * @param {string} userName 姓名
 * @param {number} page 第几页
 * @param {number} limit 多少条
 */
async function getUserAllList({ userName = '', page = 1, limit = 10 }) {
  const result = await User.findAndCountAll({
    limit: limit, // 每页多少条
    offset: limit * (page - 1), // 跳过多少条
    where: {
      userName: {
        [Op.like]: '%' + userName + '%'
      }
    }
  })
  result.rows.map(item => {
    // 格式化时间 多个
    item.dataValues = formatMoreTime(item.dataValues)
  })

  return result
}

/**
 * 通过 id 删除账号
 * @param {number} id id
 */
async function deleteUserById(id) {
  const result = await User.destroy({
    where: {
      id
    }
  })

  return result > 0
}

module.exports = {
  getUserAllList,
  deleteUserById
}
